1
유연한 메서드 정의의 예술
AI035Lesson 4
00:00

루비는 메서드 정의를 고정된 서명에서 동적 인터페이스로 발전시킵니다. 스플랫 연산자와 표현식 기반 로직을 익히면, 복잡한 오버로딩 없이도 다양한 데이터 밀도에 자연스럽게 대응하는 메서드를 만들 수 있습니다.

1. 지능형 기본값과 스플랫

루비는 매개변수를 서명 내에서 초기화할 수 있게 해주며, 최소한의 데이터로도 기능을 보장합니다. 스플랫 연산자 (*) 은 다리 역할을 합니다: 매개변수에서는 추가 인자를 배열로 수집하고, 호출 시에는 배열을 개별 슬롯으로 '해체'합니다.

캡처 (매개변수)def f(a, *rest)f(1, 2, 3) →rest = [2, 3]해체 (호출)arr = [1, 2, 3]meth(*arr) →meth(1, 2, 3)

2. 표현식 기반 반환

루비 메서드는 자동으로 마지막으로 실행된 표현식의 값을 반환합니다. 그러나 return 키워드는 조기에 종료하거나 여러 값을 배열로 반환하여 병렬 할당을 위해 전략적으로 사용됩니다.

num, sq = meth_three
# 루비는 (num, sq)를 배열 [32, 1024]로 패키징합니다
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>